1. Field of the Invention
The present invention relates to a graphics decoder that produces a graphics RGB signal, which is to be supplied to an image display apparatus such as a CRT display, from a command signal including various types of graphics data, such as a subcode signal acquired by playing a recording medium.
2. Description of the Related Art
In addition to a digital audio signal which is a main code signal, a subcode signal is recorded on a disc, such as a compact disc. The subcode is standardized as described in detail in, for example, JAS Journal, October 1986, issued by Japan Audio Society. Before going into the description of prior art, the standards of the subcode will briefly be discussed.
A subcode includes channels R to W in addition to channels P and Q which are used for playback control on a main code signal; the former channels R to W are used for graphics or the like as described later. As a subcode consists of only one bit per channel in a single main frame, all subcodes for 98 main frames (two frames of which are sync signal patterns) are grouped into a single subcode frame. As 6-bit data consisting of the channels R to W is handled, those six bits are defined as one symbol, and 24 symbols are defined as one pack. One subcode frame therefore consists of 96 symbols.
In each pack, as shown in FIG. 1, symbol 0 includes a 3-bit mode and a 3-bit item, both specifying the mode of that pack; for example, mode=000 and item=000 specifies the ZERO mode, while mode=001 and item=001 specify the TV graphics mode. Symbol 1 is set as an instruction, and symbols 4 to 19 are designated as a data field. The "instruction" is a command to determine the attribute of a data field. Symbols 2 and 3 are Q parities (Q0 and Q1) for error correction for symbols 0 and 1. Symbols 20 to 23 are P parities (P0 to P3) for error correction for symbols 0 to 19.
In TV graphics mode, the structure of a TV screen is set on the basis of a unit called "font". One font consists of six pixels in the horizontal (column) direction and twelve pixels in the vertical (row) direction, as shown in FIG. 2, each pixel being the smallest displayable picture element. 48 (horizontal) by 16 (vertical) fonts form a screen region that is actually displayable on a TV screen, and the outer region is called a border region. A display memory for the TV screen contains 50 by 18 fonts yielded by adding one font to the top and bottom as well as the right and left of the screen region as shown in FIG. 3. Pointers are defined to accomplish a soft scroll. The horizontal screen pointer PH represents the amount of horizontal shift to move all the pixel data in the display memory in the horizontal direction, and the vertical screen pointer PV the amount of vertical shift to move all the pixel data in the display memory in the vertical direction.
For the TV graphics mode, instructions are defined as shown in FIG. 4. In the instruction 1, which is a command to preset the display memory, the data region in a pack is constituted as shown in FIG. 5. All the fonts in the display memory are preset to color numbers set by COLOR in symbol 4, and the pointers PH and PV are reset to "0". In the instruction 2, which is a command to preset the border, the data region in a pack is constituted as shown in FIG. 6. The border region is preset to a color number set by COLOR in symbol 4. In the instruction 6, which is a command to write foreground/background fonts, the data region in a pack is constituted as shown in FIG. 7. This command is to write font data (color number data) of symbols 8 to 19 at the address designated by the row specified by symbol 6 and the column specified by symbol 7. In FIG. 7, "Y" indicates the upper leftmost pixel in the font, and "Z" the lower rightmost pixel in the font. For a pixel with font data of "0", the font with the color number specified by COLOR 0 in symbol 4 is written as the background color in bit planes 0 to 3, while for a pixel with font data of "1", the font with the color number specified by COLOR 1 in symbol 5 is written as the foreground color in those bit planes.
In the instruction 20, which is a preset-furnished command to scroll the screen, the data region in a pack is constituted as shown in FIG. 8. COPH in symbol 5 represents the horizontal movement of font data in the display memory. COPH=0 indicates no horizontal movement, and COPH=1 indicates the rightward movement of all the font data, so that the old font data of the 49-th column is scrolled out of the screen to the right and the font data of the 0-th column becomes the color number set by COLOR of symbol 4. COPH=2 indicates the leftward movement of all the font data, so that the old font data of the 0-th column is scrolled out of the screen to the left and the font data of the 49-th column becomes the color number set by COLOR of symbol 4. COPV in symbol 6 represents the vertical movement of font data in the display memory. COPV=0 indicates no vertical movement, and COPV=1 indicates the downward movement of all the font data, so that the old font data of the 17-th row is scrolled down out of the screen and the font data of the 0-th row becomes the color number set by COLOR of symbol 4. COPV=2 indicates the upward movement of all the font data, so that the old font data of the 0-th row is scrolled up out of the screen and the font data of the 17-th row becomes the color number set by COLOR of symbol 4. The horizontal screen pointer PH is set within the range of 0 to 5 pixels, and the vertical screen pointer PV within the range of 0 to 11 pixels.
In the instruction 24, which is a copy-furnished command to scroll the screen, the data region in a pack is constituted as shown in FIG. 9. COPH in symbol 5 represents the horizontal movement of font data in the display memory. COPH=0 indicates no horizontal movement, and COPH=1 indicates the rightward movement of all the font data, so that the old font data of the 49-th column becomes the font data of the 0-th column. COPH=2 indicates the leftward movement of all the font data, so that the old font data of the 0-th column becomes the font data of the 49-th column. COPV in symbol 6 represents the vertical movement of font data in the display memory. COPV=0 indicates no vertical movement, and COPV=1 indicates the downward movement of all the font data, so that the old font data of the 17-th row becomes the font data of the 0-th row. COPV=2 indicates the upward movement of all the font data, so that the old font data of the 0-th row becomes the font data of the 17-th row.
In the instruction 30, which is a command to load CLUT colors 0 to 7, the data region in a pack is constituted as shown in FIG. 10. This command designates the first eight colors in a color look-up table (hereinafter referred to as "CLUT") that specifies which color among sixteen colors the above color number is. In symbols 4 to 19, graphics RGB data indicated by COLOR-0 to COLOR-7 is set using two symbols per color. The instruction 31, which is a command to load CLUT colors 8 to 15, designates the second eight colors in the CLUT, so that COLOR-8 to COLOR-15 are set in symbols 4 to 19 using two symbols per color. With regard to the color tones of individual color numbers, red consists of channels R to U, four bits, of an even-numbered symbol assigned to a single color number, green consists of the subsequent channels V and W (two bits) and channels R and S (two bits) of the next odd-numbered symbol, and blue consists of the subsequent channels T to W (four bits). As there are 2.sup.4 =16 gray scales of each color, 16.sup.3 =4096 color tones are possible for the three primary colors (RGB). The gray scale of "0000" designates the darkest state, and "1111" the highest luminance.
The instruction 38, an EXCLUSIVE-OR FONT command, expands the color of a font written in two colors or one color by the PRESET command or the WRITE FOREGROUND/BACKGROUND FONT command to 16 colors. Since this command is not so pertinent to the present invention to be described later, no further details will be given.
In the instruction 28, a SET TRANSPARENCY command, the region in a pack is constituted as shown in FIG. 11. This command is to set the ratio of combination of graphics to a dynamic image when both are combined, and designates it by TRANS-0 to TRANS-15 of symbols 4 to 19 with to a transparency look-up table (hereinafter referred to as "TLUT") indicating the transparency of each of 16 colors specified by the CLUT. With this design, 64 scales of transparency are settable by six bits for the color of every pixel, "000000" indicating the opaque state and "111111" indicating the highest transparency.
Based on subcodes defined as above, the graphics decoder produces RGB signals for TV graphics from the subcode signal supplied from a disc player. The conventional subcode graphics decoder whose structure is schematically shown in FIG. 12 receives the subcode signal acquired by the disc player processing a read signal, and interprets the graphics command of the subcode signal in a command interpreter 1. The result of the interpretation in the interpreter 1, a command such as the WRITE FONT command, or data such as font data is supplied to one of an address controller 2, a V-RAM 3 and a CLUT RAM 4, in accordance with the type of the data. The address controller 2 sets the write address according to the write command and sets the read address according to various kinds of data, such as COPH at the time of scrolling. The V-RAM 3 is a display memory having a memory area corresponding to at least the screen region. The RAM 4 has an area to store RGB data corresponding to color numbers for 16 colors. For instance, when the interpreter 1 interprets the WRITE FONT command of the instruction 6, the address of the V-RAM 3 specified by the row and column that are included as data in that command is designated by the address controller 2, and color number data, i.e. font data is written in the memory location at that address. Reading of font data from the V-RAM 3 is executed in accordance with the vertical sync signal and horizontal sync signal, and based on the read font data, the RGB data with the associated color number is read out from the RAM 4. The RGB data is converted into an RGB signal by a D/A converter 5 before being supplied to a CRT display 6.
In the conventional graphics decoder, when the interpreter 1 interprets the LOAD CLUT COLOR 0-7 command of the instruction 30 or the LOAD CLUT COLOR 8-15 command of the instruction 31 from the received subcode signal, the stored data in the CLUT RAM 4 is rewritten, and the designated color for the color number is changed. Because this rewriting is executed immediately upon command interpretation, irrespective of the vertical and horizontal sync signals, however, the designated color for the foreground color or background color for the same font varies or flickering occurs on the screen while a video image of one field is being displayed on the CRT display 6.
Further, the graphics command occurs once in 1/300 sec in the supplied subcode signal, so that flickering or unnatural image distortion would occur on the screen even when the read address is relatively changed by the SCROLL SCREEN command.